package com.woniuxy.service;

import com.woniuxy.entity.RbacManager;
import com.woniuxy.entity.RbacPerm;
import com.woniuxy.entity.RbacRole;
import com.woniuxy.entity.ResponseEntity;

import java.util.Set;

/**
 * @Author: ideaAdmin
 * TODO: Interface
 * TODO: 判断用户的登录认证 和 授权
 * Date: 2022/2/23:17:06
 * Description:
 */

public interface ManagerLoginService {
    /**
     * <P>Author ideaAdmin
     * <P>TODO: 登陆验证 返回token
     * <P>Date 19:42 2022/2/23
     * * @param rbacManager
     * * @return com.woniuxy.entity.RbacManager
     **/
    ResponseEntity findManager(RbacManager rbacManager);

    /**
     * <P>Author ideaAdmin
     * <P>TODO:通过账户获得密码
     * <P>Date 19:46 2022/2/23
     * <P>* @param username
     * <P>* @return java.lang.String
     **/
    String findPasswordByAccount(String username);

    /**
     * <P>Author ideaAdmin
     * <P>TODO: 通过用户返回其所有角色
     * <P>Date 19:45 2022/2/23
     * <P>* @param username
     * <P>* @return java.util.Set<com.woniuxy.entity.RbacRole>
     **/
    Set<RbacRole> findRoleByAccount(String username);

    /**
     * <P>Author ideaAdmin
     * <P>TODO:通过用户返回其所有权限
     * <P>Date 19:45 2022/2/23
     * <P>* @param username
     * <P>* @return java.util.Set<com.woniuxy.entity.RbacPerm>
     **/
    Set<RbacPerm> findPermByAccount(String username);
}
